BASE_COMPRAS = BASE_URL + 'compras/';
jsonConfigs = [
    {
        text:'Nueva Compra',
        iconCls:'button_add',
        handler: function(){
            Ext.Ajax.request({
                url: BASE_COMPRAS + 'add',
                method:'POST',
                params:{
                    gridPanelId:gridCompras.getId(),
                    title:'Nueva Factura de Compra'
                },
                success: function(response,options){
                    tab = scriptEvaluator(response.responseText);
                },
                failure: function(response,options){
                    Ext.MessageBox.show({
                        title: 'ERROR',
                        msg: 'Ha ocurrido un error durante la conexión. Por favor intente de nuevo.',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.OK
                    });
                },
                scope:this
            });
        }
    }
];
var proveedoresStore = Ext.create('Ext.data.JsonStore',{
    proxy: {
        type:'ajax',
        actionMethods:{read:'POST'},
        api:{
            read: BASE_COMPRAS+'paginateList',
            update: BASE_COMPRAS+'saveDataGrid'
        },
        reader:{type: 'json',root: 'data',totalProperty: 'total',idProperty: 'name'},
        writer:{encode: true,type: 'json',root: 'data'},
        listeners: {
            exception: function(proxy, response, operation){
                Ext.MessageBox.show({
                    title: 'ERROR',
                    msg: operation.getError(),
                    icon: Ext.MessageBox.ERROR,
                    buttons: Ext.Msg.OK
                });
            }
        }
    },
    fields: ['id','proveedor_id','factura','fecha','total','proveedor_nombre'],
    autoLoad:true,
    pageSize: <?php echo $pageSize?>
});
var pager = Ext.create('Ext.PagingToolbar',{
    store: proveedoresStore,
    displayInfo: true,
    displayMsg: '{0} - {1} de {2} <?php echo $title?>',
    emptyMsg: 'No existen registros para mostrar'
});
var gridCompras = Ext.create('Ext.grid.GridPanel',{
    title:'Listado de Compras realizadas',
    store: proveedoresStore,
    columns: [
        {xtype: 'rownumberer'},
        {header: 'Nombre del Proveedor',dataIndex: 'proveedor_nombre', flex:1},
        {header: 'Factura',dataIndex: 'factura'},
        {header: 'Fecha',dataIndex: 'fecha'},
        {header: 'Total',dataIndex: 'total'},
    ],
    //plugins: [Ext.create('Ext.grid.plugin.CellEditing', {clicksToEdit: 2})],
    stripeRows: true,
    autoDestroy:true,
    bbar: pager,
    listeners: {
        itemdblclick:function(gridview,rowrecord) {
            requestView(
                BASE_COMPRAS + 'add'
                ,{
                    idCompra:rowrecord.get('id'),
                    gridPanelId:gridCompras.getId(),
                    title:'Factura de Compra'
                }
            );
        }
    }
});
Ext.create('Ext.panel.Panel', {
    id: prefijoTabPanel + '<?php echo $idTab?>',
    title:'Módulo de <?php echo $title?>',
    layout: 'fit',
    closable: true,
    items:[
        {
            xtype:'tabpanel',
            id:prefijoTabPanel + '<?php echo $idTab?><?php echo $title?>',
            items:[gridCompras],
            border:false
        }
    ],
    tbar: createToolBar(jsonConfigs)
});